#ifndef ROBO_CONTROLLER_H
#define ROBO_CONTROLLER_H
#include"vex.h"
#include "RoboDevice.h"
#include <cmath>
namespace RoboController{
    double GetAxisValue(vex::controller::axis _Axis);                //获取轴的移动值 
    void ControllerButtonTaskOn(vex::controller::button _CtrlButton,void(*callback)(void));                         //将某个callback函数与手柄的某个按钮绑定

    void RoboMoveDetect(const vex::controller::axis _VcAxis,const vex::controller::axis _WcAxis);                 //设置手柄轴 ，用于手柄控制进行移动
                                                                    //默认手柄控制  V （速度）为 3号轴（左摇杆前后）； W （角速度） 为 1号轴 （右摇杆左右）                                                  
    void RoboBrakeDetect(vex::controller::button _CtrlButton);       //重设刹车按钮，初始为B

    void RoboturnlDetect(vex::controller::button _CtrlButton);       //重设左转90度按钮，初始为L1

    void RoboturnrDetect(vex::controller::button _CtrlButton);       //重设右转90度按钮，初始为R1

    //void RoboArmUpDetect(vex::controller::button _CtrlButton);       //默认机械臂向上转到限位位置按钮为Up

    //void RoboArmDownDetect(vex::controller::button _CtrlButton);     //默认机械臂向下转到滚筒位置按钮为Down
    
    void RoboRollerRollingDetectLeft(vex::controller::button _CtrlButton);       //默认滚筒左键方向为负

    void RoboRollerRollingDetectRight(vex::controller::button _CtrlButton);       //默认滚筒右键方向为正

    void RoboClampHeadDetect(vex::controller::button _CtrlButton);            //默认车前面的爪子改变状态按钮为Up

    void RoboClampBackDetect(vex::controller::button _CtrlButton);            //默认车后面面的爪子改变状态按钮为Down
}


#endif  //ROBO_CONTROLLER_H